#timeit模塊可以測試一小段python代碼的運行速度
from timeit import Timer
def test1():
list_0 = []
for i in range(10000):
list_0.append(i)
def test2():
list_0 = []
for i in range(10000):
list_0 += [i]
def test3():
list_0 = [i for i in range(10000)]
def test4():
list_0 = list(range(10000))
def test5():
list_0 = []
for i in range(10000):
list_0.extend([i])
def test6():
list_0 = []
for i in range(10000):
list_0.insert(0,i)
timer1= Timer('test1()','from __main__ import test1')
time_total = timer1.timeit(1000)
print('append 一共花費了:%f秒'%time_total)
timer2= Timer('test2()','from __main__ import test2')
time_total = timer2.timeit(1000)
print(' + 一共花費了:%f秒'%time_total)
timer3= Timer('test3()','from __main__ import test3')
time_total = timer3.timeit(1000)
print('[i for i in range] 一共花費了:%f秒'%time_total)
timer4= Timer('test4()','from __main__ import test4')
time_total = timer4.timeit(1000)
print('list(range()) 一共花費了:%f秒'%time_total)
timer5= Timer('test5()','from __main__ import test5')
time_total = timer5.timeit(1000)
print('extend 一共花費了:%f秒'%time_total)
timer6= Timer('test6()','from __main__ import test6')
time_total = timer6.timeit(1000)
print('insert(0) 一共花費了:%f秒'%time_total)
運行結果:
分析上述關於列表的操作
我們發現同樣是對列表添加成員,append(從末尾添加)比insert(從起始添加)更節省時間。不同的操作實質上是不同的算法,比如 “+”運算的時間效率很低,瞭解這些有助於我們在程序開發時提高代碼效率。